﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Tibet.Logica
{
    /// <summary>
    /// Clase abstracta padre de todos los reportes
    /// </summary>
    public abstract class Reporte
    {

        //atributos
        String _Nombre;
        int _Proyecto; //Debe ser un objeto
        DateTime _FechaIni;
        DateTime _FechaFin;
        String _NombreArchivo;



        //Propiedades

        public String Nombre
        {
            get { return _Nombre; }
            set { _Nombre = value; }
        }


        public int Proyecto
        {
            get { return _Proyecto; }
            set { _Proyecto = value; }
        }

        public DateTime FechaIni
        {
            get { return _FechaIni; }
            set { _FechaIni = value; }
        }

        public DateTime FechaFin
        {
            get { return _FechaFin; }
            set { _FechaFin = value; }
        }

        public String NombreArchivo
        {
            get { return _NombreArchivo; }
            set { _NombreArchivo = value; }
        }

        //Constructor
        public Reporte()
        {

        }

        /// <summary>
        /// Metodo que genera la imagen de cada reporte y regresa el codigo html que lo muestra.
        /// </summary>
        /// <returns>Codigo html</returns>
        public abstract String Graficar();


        public abstract void CargarDatos();
        public abstract String MostrarDatos();
    }
}
